

package MODELO;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.swing.JEditorPane;


public class ModeloCategoria extends Conexion{
    private String  codigo;
    private String descripcion;
    private String  status;

    public ModeloCategoria() {
        super();
    }

    public boolean registar(){
        getConexion();      
        boolean sw= false;
        String tira="INSERT INTO Categoria (codigo, descripcion, status) VALUES(?,?,?)";
        try {
			PreparedStatement stam = generarPreparedStatement(tira);
            stam.setString(1, getCodigo());
            stam.setString(2, getDescripcion().toUpperCase());
            stam.setString(3, getStatus());
            ejecutarPrepare(stam);
            sw= true;
        } catch (SQLException ex) {
            Logger.getLogger(ModeloCategoria.class.getName()).log(Level.SEVERE, null, ex);
        }        
        return sw;
    }

    public boolean  consultar(){
        getConexion();
        boolean sw= false;
        String tira="SELECT * FROM Categoria WHERE codigo=? AND status='A'";
        try {
        	PreparedStatement stam = generarPreparedStatement(tira);
            stam.setString(1, getCodigo());
            ResultSet rs= consultarPrepare(stam);
            if (rs.next()){
            	sw = true;
            	setDescripcion(rs.getString("descripcion"));
            	setCodigo(rs.getString("codigo"));
            	setStatus(rs.getString("status"));
            }
       } catch (SQLException ex) {
        Logger.getLogger(ModeloCategoria.class.getName()).log(Level.SEVERE, null, ex);
    }
    
    return sw;
  }



 public boolean actualizar(){
     getConexion();
     boolean sw = false;
     String tira="UPDATE Categoria SET descripcion =? WHERE codigo=?  AND status = 'A'";
     try{
    	 PreparedStatement stam = generarPreparedStatement(tira);
    	 stam.setString(1,getDescripcion());
         stam.setString(2, getCodigo());
         ejecutarPrepare(stam);
         sw = true;
     } catch (SQLException ex) {
            Logger.getLogger(ModeloCategoria.class.getName()).log(Level.SEVERE, null, ex);
     }
     
     return sw;
 }

    public Vector<ModeloCategoria> listar(){
        Vector<ModeloCategoria> v = new Vector<ModeloCategoria>();
        String tira="SELECT * FROM Categoria WHERE status='A'";
        getConexion();
        try {
            ResultSet rs = getConexion().createStatement().executeQuery(tira);
            while (rs.next()){
                ModeloCategoria  i = new ModeloCategoria();
            	i.setDescripcion(rs.getString("descripcion"));
            	i.setCodigo(rs.getString("codigo"));
            	i.setStatus(rs.getString("status"));
            	v.add(i);
            }
        } catch (SQLException ex) {
            Logger.getLogger(ModeloCategoria.class.getName()).log(Level.SEVERE, null, ex);
        }
        return v;
  }

	public String getCodigo() {
		return codigo;
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}




  

}
